/* tslint:disable */
/* eslint-disable */

import React, { SVGAttributes, FunctionComponent } from 'react';
import IconShuyeu from './IconShuyeu';
import IconAdd from './IconAdd';
import IconArrowDown from './IconArrowDown';
import IconArrowLeft from './IconArrowLeft';
import IconAAftersale from './IconAAftersale';
import IconAAddressbook from './IconAAddressbook';
import IconArrowUp from './IconArrowUp';
import IconApp from './IconApp';
import IconCaretLeft from './IconCaretLeft';
import IconCaretDown from './IconCaretDown';
import IconCaretRight from './IconCaretRight';
import IconArrowRight from './IconArrowRight';
import IconChat from './IconChat';
import IconCall from './IconCall';
import IconCheckRectangleFilled from './IconCheckRectangleFilled';
import IconCaretUp from './IconCaretUp';
import IconBrowseOff from './IconBrowseOff';
import IconChevronLeft from './IconChevronLeft';
import IconCart from './IconCart';
import IconCheckRectangle from './IconCheckRectangle';
import IconCheck from './IconCheck';
import IconChevronDown from './IconChevronDown';
import IconCircle from './IconCircle';
import IconBrowse from './IconBrowse';
import IconChevronUp from './IconChevronUp';
import IconCreditcard from './IconCreditcard';
import IconChevronRight from './IconChevronRight';
import IconCheckCircle from './IconCheckCircle';
import IconADescription2X from './IconADescription2X';
import IconDelete from './IconDelete';
import IconCloseCircleFilled from './IconCloseCircleFilled';
import IconError from './IconError';
import IconEllipsis from './IconEllipsis';
import IconEdit from './IconEdit';
import IconCheckCircleFilled from './IconCheckCircleFilled';
import IconCloseCircle from './IconCloseCircle';
import IconErrorCircle from './IconErrorCircle';
import IconAErrorCircleFilled2X from './IconAErrorCircleFilled2X';
import IconClose from './IconClose';
import IconDiamond from './IconDiamond';
import IconCoupon from './IconCoupon';
import IconHeartFilled from './IconHeartFilled';
import IconHelpCircleFilled from './IconHelpCircleFilled';
import IconInfoCircleFilled from './IconInfoCircleFilled';
import IconHelpCircle from './IconHelpCircle';
import IconInfoCircle from './IconInfoCircle';
import IconInstallments from './IconInstallments';
import IconHeart from './IconHeart';
import IconHome from './IconHome';
import IconHistory from './IconHistory';
import IconHelp from './IconHelp';
import IconLockOff from './IconLockOff';
import IconJump from './IconJump';
import IconLogoAppleFilled from './IconLogoAppleFilled';
import IconMail from './IconMail';
import IconLocationFilled from './IconLocationFilled';
import IconNotification from './IconNotification';
import IconNotificationFilled from './IconNotificationFilled';
import IconQrcode from './IconQrcode';
import IconPhoto from './IconPhoto';
import IconRectangle from './IconRectangle';
import IconMoneyFilled from './IconMoneyFilled';
import IconLockOn from './IconLockOn';
import IconQuota from './IconQuota';
import IconLocation from './IconLocation';
import IconMoneyCircle from './IconMoneyCircle';
import IconScan from './IconScan';
import IconSearch from './IconSearch';
import IconRemove from './IconRemove';
import IconRollback from './IconRollback';
import IconLogoApple from './IconLogoApple';
import IconSecured from './IconSecured';
import IconService from './IconService';
import IconSign from './IconSign';
import IconRepay from './IconRepay';
import IconSound from './IconSound';
import IconShare from './IconShare';
import IconStarFilled from './IconStarFilled';
import IconTimeFilled from './IconTimeFilled';
import IconSoundFilled from './IconSoundFilled';
import IconSetting from './IconSetting';
import IconStarCircle from './IconStarCircle';
import IconShop from './IconShop';
import IconUser from './IconUser';
import IconTime from './IconTime';
import IconRefresh from './IconRefresh';
import IconStar from './IconStar';
import IconWallet from './IconWallet';
export { default as IconShuyeu } from './IconShuyeu';
export { default as IconAdd } from './IconAdd';
export { default as IconArrowDown } from './IconArrowDown';
export { default as IconArrowLeft } from './IconArrowLeft';
export { default as IconAAftersale } from './IconAAftersale';
export { default as IconAAddressbook } from './IconAAddressbook';
export { default as IconArrowUp } from './IconArrowUp';
export { default as IconApp } from './IconApp';
export { default as IconCaretLeft } from './IconCaretLeft';
export { default as IconCaretDown } from './IconCaretDown';
export { default as IconCaretRight } from './IconCaretRight';
export { default as IconArrowRight } from './IconArrowRight';
export { default as IconChat } from './IconChat';
export { default as IconCall } from './IconCall';
export { default as IconCheckRectangleFilled } from './IconCheckRectangleFilled';
export { default as IconCaretUp } from './IconCaretUp';
export { default as IconBrowseOff } from './IconBrowseOff';
export { default as IconChevronLeft } from './IconChevronLeft';
export { default as IconCart } from './IconCart';
export { default as IconCheckRectangle } from './IconCheckRectangle';
export { default as IconCheck } from './IconCheck';
export { default as IconChevronDown } from './IconChevronDown';
export { default as IconCircle } from './IconCircle';
export { default as IconBrowse } from './IconBrowse';
export { default as IconChevronUp } from './IconChevronUp';
export { default as IconCreditcard } from './IconCreditcard';
export { default as IconChevronRight } from './IconChevronRight';
export { default as IconCheckCircle } from './IconCheckCircle';
export { default as IconADescription2X } from './IconADescription2X';
export { default as IconDelete } from './IconDelete';
export { default as IconCloseCircleFilled } from './IconCloseCircleFilled';
export { default as IconError } from './IconError';
export { default as IconEllipsis } from './IconEllipsis';
export { default as IconEdit } from './IconEdit';
export { default as IconCheckCircleFilled } from './IconCheckCircleFilled';
export { default as IconCloseCircle } from './IconCloseCircle';
export { default as IconErrorCircle } from './IconErrorCircle';
export { default as IconAErrorCircleFilled2X } from './IconAErrorCircleFilled2X';
export { default as IconClose } from './IconClose';
export { default as IconDiamond } from './IconDiamond';
export { default as IconCoupon } from './IconCoupon';
export { default as IconHeartFilled } from './IconHeartFilled';
export { default as IconHelpCircleFilled } from './IconHelpCircleFilled';
export { default as IconInfoCircleFilled } from './IconInfoCircleFilled';
export { default as IconHelpCircle } from './IconHelpCircle';
export { default as IconInfoCircle } from './IconInfoCircle';
export { default as IconInstallments } from './IconInstallments';
export { default as IconHeart } from './IconHeart';
export { default as IconHome } from './IconHome';
export { default as IconHistory } from './IconHistory';
export { default as IconHelp } from './IconHelp';
export { default as IconLockOff } from './IconLockOff';
export { default as IconJump } from './IconJump';
export { default as IconLogoAppleFilled } from './IconLogoAppleFilled';
export { default as IconMail } from './IconMail';
export { default as IconLocationFilled } from './IconLocationFilled';
export { default as IconNotification } from './IconNotification';
export { default as IconNotificationFilled } from './IconNotificationFilled';
export { default as IconQrcode } from './IconQrcode';
export { default as IconPhoto } from './IconPhoto';
export { default as IconRectangle } from './IconRectangle';
export { default as IconMoneyFilled } from './IconMoneyFilled';
export { default as IconLockOn } from './IconLockOn';
export { default as IconQuota } from './IconQuota';
export { default as IconLocation } from './IconLocation';
export { default as IconMoneyCircle } from './IconMoneyCircle';
export { default as IconScan } from './IconScan';
export { default as IconSearch } from './IconSearch';
export { default as IconRemove } from './IconRemove';
export { default as IconRollback } from './IconRollback';
export { default as IconLogoApple } from './IconLogoApple';
export { default as IconSecured } from './IconSecured';
export { default as IconService } from './IconService';
export { default as IconSign } from './IconSign';
export { default as IconRepay } from './IconRepay';
export { default as IconSound } from './IconSound';
export { default as IconShare } from './IconShare';
export { default as IconStarFilled } from './IconStarFilled';
export { default as IconTimeFilled } from './IconTimeFilled';
export { default as IconSoundFilled } from './IconSoundFilled';
export { default as IconSetting } from './IconSetting';
export { default as IconStarCircle } from './IconStarCircle';
export { default as IconShop } from './IconShop';
export { default as IconUser } from './IconUser';
export { default as IconTime } from './IconTime';
export { default as IconRefresh } from './IconRefresh';
export { default as IconStar } from './IconStar';
export { default as IconWallet } from './IconWallet';

export type IconNames =
  | 'shuyeu'
  | 'add'
  | 'arrow-down'
  | 'arrow-left'
  | 'a-aftersale'
  | 'a-addressbook'
  | 'arrow-up'
  | 'app'
  | 'caret-left'
  | 'caret-down'
  | 'caret-right'
  | 'arrow-right'
  | 'chat'
  | 'call'
  | 'check-rectangle-filled'
  | 'caret-up'
  | 'browse-off'
  | 'chevron-left'
  | 'cart'
  | 'check-rectangle'
  | 'check'
  | 'chevron-down'
  | 'circle'
  | 'browse'
  | 'chevron-up'
  | 'creditcard'
  | 'chevron-right'
  | 'check-circle'
  | 'a-description2x'
  | 'delete'
  | 'close-circle-filled'
  | 'error'
  | 'ellipsis'
  | 'edit'
  | 'check-circle-filled'
  | 'close-circle'
  | 'error-circle'
  | 'a-error-circle-filled2x'
  | 'close'
  | 'diamond'
  | 'coupon'
  | 'heart-filled'
  | 'help-circle-filled'
  | 'info-circle-filled'
  | 'help-circle'
  | 'info-circle'
  | 'installments'
  | 'heart'
  | 'home'
  | 'history'
  | 'help'
  | 'lock-off'
  | 'jump'
  | 'logo-apple-filled'
  | 'mail'
  | 'location-filled'
  | 'notification'
  | 'notification-filled'
  | 'qrcode'
  | 'photo'
  | 'rectangle'
  | 'money-filled'
  | 'lock-on'
  | 'quota'
  | 'location'
  | 'money-circle'
  | 'scan'
  | 'search'
  | 'remove'
  | 'rollback'
  | 'logo-apple'
  | 'secured'
  | 'service'
  | 'sign'
  | 'repay'
  | 'sound'
  | 'share'
  | 'star-filled'
  | 'time-filled'
  | 'sound-filled'
  | 'setting'
  | 'star-circle'
  | 'shop'
  | 'user'
  | 'time'
  | 'refresh'
  | 'star'
  | 'wallet';

interface Props extends Omit<SVGAttributes<SVGElement>, 'color'> {
  name: IconNames;
  size?: number;
  color?: string | string[];
}

const IconFont: FunctionComponent<Props> = ({ name, ...rest }) => {
  switch (name) {
    case 'shuyeu':
      return <IconShuyeu {...rest} />;
    case 'add':
      return <IconAdd {...rest} />;
    case 'arrow-down':
      return <IconArrowDown {...rest} />;
    case 'arrow-left':
      return <IconArrowLeft {...rest} />;
    case 'a-aftersale':
      return <IconAAftersale {...rest} />;
    case 'a-addressbook':
      return <IconAAddressbook {...rest} />;
    case 'arrow-up':
      return <IconArrowUp {...rest} />;
    case 'app':
      return <IconApp {...rest} />;
    case 'caret-left':
      return <IconCaretLeft {...rest} />;
    case 'caret-down':
      return <IconCaretDown {...rest} />;
    case 'caret-right':
      return <IconCaretRight {...rest} />;
    case 'arrow-right':
      return <IconArrowRight {...rest} />;
    case 'chat':
      return <IconChat {...rest} />;
    case 'call':
      return <IconCall {...rest} />;
    case 'check-rectangle-filled':
      return <IconCheckRectangleFilled {...rest} />;
    case 'caret-up':
      return <IconCaretUp {...rest} />;
    case 'browse-off':
      return <IconBrowseOff {...rest} />;
    case 'chevron-left':
      return <IconChevronLeft {...rest} />;
    case 'cart':
      return <IconCart {...rest} />;
    case 'check-rectangle':
      return <IconCheckRectangle {...rest} />;
    case 'check':
      return <IconCheck {...rest} />;
    case 'chevron-down':
      return <IconChevronDown {...rest} />;
    case 'circle':
      return <IconCircle {...rest} />;
    case 'browse':
      return <IconBrowse {...rest} />;
    case 'chevron-up':
      return <IconChevronUp {...rest} />;
    case 'creditcard':
      return <IconCreditcard {...rest} />;
    case 'chevron-right':
      return <IconChevronRight {...rest} />;
    case 'check-circle':
      return <IconCheckCircle {...rest} />;
    case 'a-description2x':
      return <IconADescription2X {...rest} />;
    case 'delete':
      return <IconDelete {...rest} />;
    case 'close-circle-filled':
      return <IconCloseCircleFilled {...rest} />;
    case 'error':
      return <IconError {...rest} />;
    case 'ellipsis':
      return <IconEllipsis {...rest} />;
    case 'edit':
      return <IconEdit {...rest} />;
    case 'check-circle-filled':
      return <IconCheckCircleFilled {...rest} />;
    case 'close-circle':
      return <IconCloseCircle {...rest} />;
    case 'error-circle':
      return <IconErrorCircle {...rest} />;
    case 'a-error-circle-filled2x':
      return <IconAErrorCircleFilled2X {...rest} />;
    case 'close':
      return <IconClose {...rest} />;
    case 'diamond':
      return <IconDiamond {...rest} />;
    case 'coupon':
      return <IconCoupon {...rest} />;
    case 'heart-filled':
      return <IconHeartFilled {...rest} />;
    case 'help-circle-filled':
      return <IconHelpCircleFilled {...rest} />;
    case 'info-circle-filled':
      return <IconInfoCircleFilled {...rest} />;
    case 'help-circle':
      return <IconHelpCircle {...rest} />;
    case 'info-circle':
      return <IconInfoCircle {...rest} />;
    case 'installments':
      return <IconInstallments {...rest} />;
    case 'heart':
      return <IconHeart {...rest} />;
    case 'home':
      return <IconHome {...rest} />;
    case 'history':
      return <IconHistory {...rest} />;
    case 'help':
      return <IconHelp {...rest} />;
    case 'lock-off':
      return <IconLockOff {...rest} />;
    case 'jump':
      return <IconJump {...rest} />;
    case 'logo-apple-filled':
      return <IconLogoAppleFilled {...rest} />;
    case 'mail':
      return <IconMail {...rest} />;
    case 'location-filled':
      return <IconLocationFilled {...rest} />;
    case 'notification':
      return <IconNotification {...rest} />;
    case 'notification-filled':
      return <IconNotificationFilled {...rest} />;
    case 'qrcode':
      return <IconQrcode {...rest} />;
    case 'photo':
      return <IconPhoto {...rest} />;
    case 'rectangle':
      return <IconRectangle {...rest} />;
    case 'money-filled':
      return <IconMoneyFilled {...rest} />;
    case 'lock-on':
      return <IconLockOn {...rest} />;
    case 'quota':
      return <IconQuota {...rest} />;
    case 'location':
      return <IconLocation {...rest} />;
    case 'money-circle':
      return <IconMoneyCircle {...rest} />;
    case 'scan':
      return <IconScan {...rest} />;
    case 'search':
      return <IconSearch {...rest} />;
    case 'remove':
      return <IconRemove {...rest} />;
    case 'rollback':
      return <IconRollback {...rest} />;
    case 'logo-apple':
      return <IconLogoApple {...rest} />;
    case 'secured':
      return <IconSecured {...rest} />;
    case 'service':
      return <IconService {...rest} />;
    case 'sign':
      return <IconSign {...rest} />;
    case 'repay':
      return <IconRepay {...rest} />;
    case 'sound':
      return <IconSound {...rest} />;
    case 'share':
      return <IconShare {...rest} />;
    case 'star-filled':
      return <IconStarFilled {...rest} />;
    case 'time-filled':
      return <IconTimeFilled {...rest} />;
    case 'sound-filled':
      return <IconSoundFilled {...rest} />;
    case 'setting':
      return <IconSetting {...rest} />;
    case 'star-circle':
      return <IconStarCircle {...rest} />;
    case 'shop':
      return <IconShop {...rest} />;
    case 'user':
      return <IconUser {...rest} />;
    case 'time':
      return <IconTime {...rest} />;
    case 'refresh':
      return <IconRefresh {...rest} />;
    case 'star':
      return <IconStar {...rest} />;
    case 'wallet':
      return <IconWallet {...rest} />;
  }

  return null;
};

export default IconFont;
